#define _CRT_SECURE_NO_WARNINGS 1


//#include<iostream>
//
//using namespace std;
//
//int nthUglyNumber(int n)
//{
//    int arr[1691] = { 0 };
//    arr[0] = 1;
//    n -= 1;
//    int i = 2;
//    int index = 1;
//    while (n)
//    {
//        if (i % 2 == 0 || i % 3 == 0 || i % 5 == 0)
//        {
//            arr[index++] = i;
//            n--;
//        }
//        i++;
//    }
//    return arr[index - 1];
//}
//
//int main()
//{
//    int n = 9;
//
//    cout << nthUglyNumber(n) << endl;
//
//    return 0;
//}


#include<vector>
#include<iostream>

using namespace std;

int _QuickSort(vector<int> v, int left, int right)
{
    int keyi = left;
    left++;
    while (left <= right)
    {
        while (left <= right && v[right] < v[keyi])
        {
            right--;
        }
        while (left <= right && v[left] > v[keyi])
        {
            left++;
        }
        if (left <= right)
        {
            swap(v[left++], v[right--]);
        }
    }
    swap(v[keyi], v[right]);
    return right;
}

void QuickSort(vector<int>& v, int left, int right)
{
    if (left >= right)
    {
        return;
    }
    int key = _QuickSort(v, left, right);
    QuickSort(v, left, key - 1);
    QuickSort(v, key + 1, right);
}

int kthLargestElement(int k, vector<int>& nums)
{
    QuickSort(nums, 0, nums.size() - 1);
    return nums[k - 1];
}

//int main()
//{
//
//
//    return 0;
//}